环境变量
Vite在特殊的import.meta.env对象上公开env变量。 
在所有情况下都可以使用一些内置变量：
import.meta.env.MODE：{string}应用运行的模式。
import.meta.env.BASE_URL：{string}从其提供应用程序的基本URL。 这由基本配置选项确定。
import.meta.env.PROD：{boolean}应用程序是否正在生产中运行。
import.meta.env.DEV：{boolean}应用程序是否正在开发中运行（始终与import.meta.env.PROD相反）



生产替换
在生产过程中，这些env变量将被静态替换。 因此，有必要
始终使用完整的静态字符串来引用它们。 例如，
像 import.meta.env[key]这样的动态密钥访问将不起作用。
它还将替换出现在JavaScript字符串和Vue模板中的这些字符串。 
这应该是一种罕见的情况，但是可能是意外的。 有解决此问题的方法：
对于JavaScript字符串，您可以使用Unicode零宽度空格将字符串
分开，例如 'import.meta\u200b.env.MODE'。
对于被编译为JavaScript字符串的Vue模板或其他HTML，
您可以使用<wbr>标签，例如 import.meta.<wbr>env.MODE。



env文件
Vite使用dotenv从项目根目录中的以下文件加载其他环境变量：
.env                # 在所有情况下均已加载
.env.local          # 在所有情况下都加载，被git忽略
.env.[mode]         # 仅在指定模式下加载
.env.[mode].local   # 仅以指定模式加载，被git忽略
加载的env变量也可以通过import.meta.env公开给您的客户端源代码。
为避免将env变量意外泄露给客户端，只有以VITE_开头的变量才
对Vite处理的代码公开。 例如 以下文件：
DB_PASSWORD=foobar
VITE_SOME_KEY=123
只有VITE_SOME_KEY会作为import.meta.env.VITE_SOME_KEY公
开给您的客户端源代码，而DB_PASSWORD不会。
.env.*.local文件仅是本地文件，可以包含敏感变量。 您应该
将.local添加到.gitignore中，以避免将它们检入git中。
由于暴露给Vite源代码的任何变量都将最终出现在您的客户端包中，
因此VITE_*变量不应包含任何敏感信息。



模式
默认情况下，dev服务器（serve命令）在开发模式下运行，
而build命令在生产模式下运行。
这意味着在运行vite build时，如果存在以下情况，
它将从.env.production加载env变量
# .env.production
VITE_APP_TITLE=My App
在您的应用中，您可以使用import.meta.env.VITE_APP_TITLE渲染标题。
但是，重要的是要理解，模式是一个更广泛的概念，而不仅仅是开发与生产。 
一个典型的示例是，您可能需要一种“登台”模式，该模式应具有与生产
类似的行为，但与生产中的env变量略有不同。
您可以通过传递--mode选项标志来覆盖用于命令的默认模式。 例如，
如果您要为我们的假设登台模式构建应用程序：
vite build --mode staging
为了获得我们想要的行为，我们需要一个.env.staging文件：
# .env.staging
NODE_ENV=staging
VITE_APP_TITLE=My App (staging)
现在，您的登台应用程序应该具有与生产类似的行为，
但是显示的标题与生产不同。
